package com.ly.service;

import com.ly.pojo.domain.UserCaseDO;
import com.ly.pojo.dto.UserCaseDTO;
import com.ly.pojo.vo.PageResult;
import java.lang.Boolean;
import java.lang.Integer;
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.web.multipart.MultipartFile;

/**
 * 用户案例管理
 *
 * @author Administrator
 * @date 2025-03-07 10:51:13
 */
public interface UserCaseService {

    /**
     * add
     *
     * @param userCaseDTO 用户案例DTO
     * @return
     */
    Boolean addUserCase(UserCaseDTO userCaseDTO);

    /**
     * update
     *
     * @param userCaseDTO 用户案例DTO
     * @return
     */
    Boolean updateUserCase(UserCaseDTO userCaseDTO);

    /**
     * delete
     *
     * @param userCaseDTO 用户案例DTO
     * @return
     */
    Boolean deleteUserCase(UserCaseDTO userCaseDTO);

    /**
     * list
     *
     * @param pageIndex
     * @param pageSize
     * @return
     */
    PageResult<UserCaseDO> listUserCases(Integer pageIndex, Integer pageSize);

    /**
     * upload-image
     *
     * @param caseId
     * @param file
     * @param request
     * @return
     */
    Boolean uploadUserCaseImage(Integer caseId, MultipartFile file, HttpServletRequest request);
}
